package edu.uoc.vmerinom.tfc.domain;

// Generated 14-abr-2012 19:33:30 by Hibernate Tools 3.4.0.CR1

import static javax.persistence.GenerationType.IDENTITY;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Componente generated by hbm2java
 */
@Entity
@Table(name = "componentes")
public class Componente implements java.io.Serializable {
	/** Default Serial Version ID */
	private static final long serialVersionUID = 1L;

	private Integer id;
	private Grupo grupo;
	private Usuario usuario;
	private Date creado;
	private Date modificado;
	private Date alta;
	private Date baja;
	private String actividad;
	private boolean representante;

	public Componente() {
	}

	public Componente(Grupo grupo, Usuario usuario, Date creado, Date modificado, Date alta, String actividad, boolean representante) {
		this.grupo = grupo;
		this.usuario = usuario;
		this.creado = creado;
		this.modificado = modificado;
		this.alta = alta;
		this.actividad = actividad;
		this.representante = representante;
	}

	public Componente(Grupo grupo, Usuario usuario, Date creado, Date modificado, Date alta, Date baja, String actividad, boolean representante) {
		this.grupo = grupo;
		this.usuario = usuario;
		this.creado = creado;
		this.modificado = modificado;
		this.alta = alta;
		this.baja = baja;
		this.actividad = actividad;
		this.representante = representante;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "grupo", nullable = false)
	public Grupo getGrupo() {
		return this.grupo;
	}

	public void setGrupo(Grupo grupo) {
		this.grupo = grupo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "usuario", nullable = false)
	public Usuario getUsuario() {
		return this.usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "creado", nullable = false, length = 19)
	public Date getCreado() {
		return this.creado;
	}

	public void setCreado(Date creado) {
		this.creado = creado;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "modificado", nullable = false, length = 19)
	public Date getModificado() {
		return this.modificado;
	}

	public void setModificado(Date modificado) {
		this.modificado = modificado;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "alta", nullable = false, length = 19)
	public Date getAlta() {
		return this.alta;
	}

	public void setAlta(Date alta) {
		this.alta = alta;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "baja", length = 19)
	public Date getBaja() {
		return this.baja;
	}

	public void setBaja(Date baja) {
		this.baja = baja;
	}

	@Column(name = "actividad", nullable = false, length = 100)
	public String getActividad() {
		return this.actividad;
	}

	public void setActividad(String actividad) {
		this.actividad = actividad;
	}

	@Column(name = "representante", nullable = false)
	public boolean isRepresentante() {
		return this.representante;
	}

	public void setRepresentante(boolean representante) {
		this.representante = representante;
	}

}
